#ifndef System_H
#define System_H
#include "Singleton.h"
#include "InputEvent.h"
#include "Sprite.h"
#include "MouseCursor.h"
#include "SpriteBatch.h"
#include "Technique.h"
class System
{
public:
	System(void);
	~System(void);
	bool	injectMouseMove(float delta_x, float delta_y);
	bool	injectMouseLeaves(void);
	bool	injectMouseButtonDown(MouseButton button);
	bool	injectMouseButtonUp(MouseButton button);
	bool	injectMouseWheelChange(float delta);
	bool	injectMousePosition(float x_pos, float y_pos);
	bool	injectKeyDown(unsigned int key_code);
	bool	injectKeyUp(unsigned int key_code);
	bool	injectChar(unsigned int code_point);
	Node2D* getRootNode();
	void	draw(SpriteBatch* spriteBatch);
private:
	Sprite* pSpriteWithMouse;
	Sprite mRootNode;
	Technique mEffect;
};
typedef Singleton<System> SystemSingleton;
#endif


